﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//struct S
//{
//	char a : 3;
//	char b : 4;
//	char c : 5;
//	char d : 4;
//};
//
//int main()
//{
//	struct S s = { 0 };
//	s.a = 10;
//	s.b = 12;
//	s.c = 3;
//	s.d = 4;
//
//	return 0;
//}

//struct S1
//{
//	char a;
//	int b;
//};
//
//union S2 //联合体只为最大的成员分配足够的空间，联合体所有成员共用同一块内存空间
//{
//	char a;
//	int b;
//};
//
//union S3
//{
//	char arr[5];//5   1  8   1
//	int i;// 4    4   8    4
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S1));//8
//	printf("%zd\n", sizeof(union S2));//4
//	printf("%zd\n", sizeof(union S3));//8
//
//	union S2 un;
//	printf("%p\n", &un);
//	printf("%p\n", &un.a);
//	printf("%p\n", &un.b);
//
//	return 0;
//}

//代码1 
//#include <stdio.h>
////联合类型的声明 
//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义 
//	union Un un = { 0 };
//	// 下⾯输出的结果是⼀样的吗？ 
//	printf("%p\n", &(un.i));
//	printf("%p\n", &(un.c));
//	printf("%p\n", &un);
//	return 0;
//}


//代码2 
//#include <stdio.h>
////联合类型的声明 
//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义 
//	union Un un = { 0 };
//	un.i = 0x11223344;
//	un.c = 0x55;
//	printf("%x\n", un.i);
//	return 0;
//}


//#include <stdio.h>
//
//union Un1
//{
//	char c[5];//5
//	int i;//4
//};
//union Un2
//{
//	short c[7];//14
//	int i;//4
//};
//int main()
//{
//	//下⾯输出的结果是什么？ 
//	printf("%zd\n", sizeof(union Un1));//5
//	printf("%zd\n", sizeof(union Un2));//16
//	return 0;
//}


//struct gift_list
//{
//	//公共属性 
//	int stock_number;//库存量 
//	double price; //定价 
//	int item_type;//商品类型 
//
//	//特殊属性 
//	char title[20];//书名 
//	char author[20];//作者 
//	int num_pages;//⻚数 
//
//	char design[30];//设计 
//	int colors;//颜⾊ 
//	int sizes;//尺⼨ 
//};
//
//struct gift_list  //结构体类型
//{
//	int stock_number;//库存量 
//	double price; //定价 
//	int item_type;//商品类型 
//
//	union //匿名联合体类型   只使用一次
//	{
//		struct //匿名结构体类型
//		{
//			char title[20];//书名 
//			char author[20];//作者 
//			int num_pages;//⻚数 
//		}book;
//		struct
//		{
//			char design[30];//设计 
//		}mug;
//		struct
//		{
//			char design[30];//设计 
//			int colors;//颜⾊ 
//			int sizes;//尺⼨ 
//		}shirt;
//	}item;
//};


//写⼀个程序，判断当前机器是⼤端？还是⼩端？

//int main()
//{
//	union un
//	{
//		int i;
//		char c;
//	}un;
//	un.i = 1;
//	if (un.c == 1)
//	{
//		printf("小端\n");
//	}
//	else
//	{
//		printf("大端\n");
//	}
//
//	return  0;
//}


//int check_sys()
//{
//	union
//	{
//		int i;
//		char c;
//	}un;
//	un.i = 1;
//	return un.c;//返回1是⼩端，返回0是⼤端 
//}
//
//int main()
//{
//	if (check_sys)
//	{
//		printf("小端\n");
//	}
//	else
//	{
//		printf("大端\n");
//	}
//	return 0;
//}

//enum Day//星期
//{
//	Mon,
//	Tues,
//	Wed,
//	Thur,
//	Fri,
//	Sat,
//	Sun
//};
//enum Sex//性别
//{
//	MALE,
//	FEMALE,
//	SECRET
//};
//enum Color//颜⾊
//{
//	RED = 2,
//	GREEN = 5,
//	BLUE = 8 
//};
//
////#define MALE   1
////#define FEMALE 2
////#define SECRET 3
//
//int main()
//{
//	enum Color cl = BLUE;
//	enum Color s = 5;
//
//	//printf("%d\n", cl);
//	printf("%d\n", s);
//
//	return 0;
//}


int main()
{
    //1. 变量
    int a = 10;
    double d = 3.14;
    long long n = 100;
    //2. 数组
    int arr[10] = { 0 };

    int math[30];
    //25
    //30  
    //35
    //10

    return 0;
}